//
//  EmoticonPackage.swift
//  表情键盘
//
//  Created by 李国伟 on 15/12/15.
//  Copyright © 2015年 李国伟. All rights reserved.
//

import UIKit

class EmoticonPackage: NSObject {

    /// 表情包所在路径
    var id: String?
    /// 表情包的名称，显示在 toolbar 中
    var group_name_cn: String?
    /// 表情数组 - 能够保证，在使用的时候，数组已经存在，可以直接追加数据
    lazy var emoticons = [AnyObject]()
    
    init(var dict: [String : AnyObject]) {
       super.init()
       
        //取到对应的id路径
       id = dict["id"] as? String
        
        //表情包的名称用于给toolbar命名
        group_name_cn = dict["group_name_cn"] as? String
        
        //取到对应的表情包并进行字典转模型
        if let array = dict["emoticons"] as? [[String: AnyObject]] {
        
        var index = 0
        
        //遍历字典
        for var d in array {
            
            //判断一下是否有png有则拼接字符串
            if let png = d["png"] as? String, dir = id {
                // 2> 重新设置字典的 png 的 value
                d["png"] = dir + "/" + png
            }
            
            emoticons.append(Emoticon(dict: d))
            index++
            
            if index == 20 {
                
                emoticons.append(Emoticon(isRemove: true))
                index = 0
            }
         }
      }
      setEmpy()
   }
    
    private func setEmpy(){
        
        let count = emoticons.count % 21
        //判断是否为空
        if emoticons.count > 0 && count == 0{
            return
        }
        
        for _ in count..<20 {
            emoticons.append(Emoticon(isEmpy: true))
        }
        
        emoticons.append(Emoticon(isRemove: true))
    }
}
